1. Technical Field
The present invention relates in general to an improved data processing system and in particular to an improved method and apparatus for assigning device identifiers to peripheral devices connected to a data processing system. Still more particularly, the present invention relates to a method and apparatus for assigning device identifiers based upon the physical location of the connected device.
2. Description of the Related Art
In many data processing systems, it becomes necessary to connect a plurality of peripheral devices to the data processing system. Such peripheral devices may include hard disk drives (HDDs), tape drives, CD-ROMs, WORM (write once, read many times) drives, communications devices, multimedia presentation devices, test equipment, and the like. If these peripheral devices are connected to a common bus, or parallel communications bus, an identification or ID is typically assigned to each device so that each peripheral device may be addressed individually by the data processing system and other peripheral devices connected to such a bus.
An example of such a parallel communications bus is the "small computer system interface" bus or "SCSI" bus. SCSI is a parallel, multimaster I/O bus that provides a standard interface between computers and peripheral devices. SCSI defines a special bus cable dedicated to data transfer between a data processing system and up to eight peripheral devices, each having its own controller. SCSI has been an official ANSI standard (ANSI X3.131-1986) since 1986, but its roots go back to the I/O buses used on IBM mainframes as early as the 1960's. In addition to the electrical and physical characteristics of the bus, SCSI defines a series of commands through which devices connected to the bus communicate with each other. SCSI utilizes a single 50-pin cable, which functions as a data and control bus which may daisy-chain up to eight peripheral devices (i.e., host adapters or peripheral controllers).
In FIG. 1, there is depicted a data processing system coupled to a plurality of peripheral devices via a parallel communications bus. As illustrated, data processing system 20, which has a parallel communications bus connector 22, is coupled to peripheral device 24 via cable 26. Cable 26 is connected to parallel communications bus connector 28 on peripheral device 24. Parallel communications bus connector 28 is connected to parallel communications bus connector 30 within peripheral device 24 to permit connection of additional peripheral devices, such as peripheral device 32. Peripheral device 32 is connected to peripheral device 24 via cable 34 connected to parallel communications bus connector 30.
Typically, a parallel communications bus will require termination at both ends of the bus. Termination may be provided within data processing system 20 for one end of the parallel communications bus; the other end may be terminated at parallel communications bus connector 36 by terminator 38.
In many known parallel communications bus architectures, devices connected to such a bus are distinguished logically by a device ID. Such a device ID may be selectable using address selector 39 internal to peripheral devices 24 and 32. Address selector 39 is utilized to set a device ID so that peripheral devices 24 and 32 may be separately addressed by data processing system 20.
Recently, data processing system user's need for hard disk drive storage space has increased dramatically. To fulfil this need for hard disk storage, data processing system designers have implemented arrays of hard disk drives which work together to provide a large hard disk storage area. Such an array of hard disk may be part of a "redundant array of inexpensive drives," which is also known as "RAID."
However, there is a problem with the RAID that occurs when one of the hard disk drives in the RAID fails. This problem concerns the user's ability to determine which hard disk drive in the array of disk drives failed. If the data processing system user could identify the failed disk drive, the disk drive may be unplugged, removed, and replaced with a working disk drive. In the prior art, the data processing system is able to provide the user the SCSI ID of the failed disk drive, but the data processing system may not be able to provide the physical location of the failed disk drive (i.e., in what bay the physical disk drive is located).
Even though the data processing system user may be able to set SCSI device IDs in a manner corresponding to the physical location of the peripheral device, this requires the user to learn how to set the SCSI device ID. If the user is unfamiliar with how to set the SCSI device ID, or forgets to set the proper ID, or if it is inconvenient to set SCSI device IDs, the SCSI device ID may not correspond to the physical location of the SCSI device. Furthermore, a user who is unfamiliar with how the SCSI devices were installed cannot be sure that the SCSI device ID corresponds to the physical location of the SCSI device.
Therefore, the problem remaining in the prior art is to provide a method and apparatus for automatically assigning an ID to a peripheral device connected to a data processing system based upon the location of the installed peripheral device.